home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / cdgtst / digitst.h < prev    next >
C/C++ Source or Header  |  1998-12-10  |  2KB  |  84 lines

  1. #ifndef _DIGITST_H
  2. #define _DIGITST_H
  3.  
  4. #if _MSC_VER >= 1000
  5. #pragma once
  6. #endif // _MSC_VER >= 1000
  7.  
  8. // DigitST.h : header file
  9. //
  10.  
  11. // Min number of digits we can display
  12. #define ST_MIN_PRECISION    1
  13. // Max number of digits we can display (it can be increased)
  14. #define ST_MAX_PRECISION    10
  15. // Space left around the bitmap for border
  16. #define BORDER_SPACE        3
  17.  
  18.  
  19. class CDigitST : public CStatic
  20. {
  21. public:
  22.     CDigitST();
  23.     virtual ~CDigitST();
  24.     enum {    ST_LEFT            = 0x01, 
  25.             ST_TOP            = 0x02,
  26.             ST_RIGHT        = 0x04,
  27.             ST_BOTTOM        = 0x08};
  28.  
  29. public:
  30.  
  31.     // ClassWizard generated virtual function overrides
  32.     //{{AFX_VIRTUAL(CDigitST)
  33.     //}}AFX_VIRTUAL
  34.  
  35. public:
  36.     BOOL SetStyle(UINT nBitmapId, int nPrecision);
  37.  
  38.     void SetValue(int nValue, BOOL bRepaint = TRUE);
  39.     int GetValue();
  40.  
  41.     void SetPrecision(int nPrecision, BOOL bResize = TRUE);
  42.     int GetPrecision();
  43.  
  44.     void SetResize(DWORD dwResize, BOOL bResize = TRUE);
  45.     DWORD GetResize();
  46.  
  47.     void SetZeroPadding(BOOL bPad = FALSE, BOOL bRepaint = TRUE);
  48.     BOOL GetZeroPadding();
  49.  
  50.     void Inc(BOOL bRepaint = TRUE);
  51.     void Dec(BOOL bRepaint = TRUE);
  52.  
  53.     static const char* GetVersionC();
  54.     static const short GetVersionI();
  55.  
  56. protected:
  57.     //{{AFX_MSG(CDigitST)
  58.     afx_msg void OnPaint();
  59.     //}}AFX_MSG
  60.  
  61.     DECLARE_MESSAGE_MAP()
  62. private:
  63.     void Resize();
  64.     void PrepareString(char* szDest);
  65.     void DrawDigits(CDC* pDC);
  66.  
  67.     CBitmap m_bmDigit;
  68.     int m_nWidth;
  69.     int m_nHeight;
  70.  
  71.     int m_nPrecision;
  72.     int m_nValue;
  73.  
  74.     BOOL m_bZeroPadding;
  75.     DWORD m_dwResize;
  76. };
  77.  
  78. /////////////////////////////////////////////////////////////////////////////
  79.  
  80. //{{AFX_INSERT_LOCATION}}
  81. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  82.  
  83. #endif
  84.